#include <stdio.h>
#include <stdlib.h>
#include <readline/readline.h>
#include <readline/history.h>

// 自定义的命令补全函数（如果需要）
char **command_completion(const char *text, int start, int end) {
    // 示例：返回 NULL 表示没有补全建议
    return NULL;
}

int main() {
    char *input;
    char *ptr;
    // 设置自动补全函数
    rl_attempted_completion_function = command_completion;

    while ((input = readline(">>> ")) != NULL) {
        // 打印每个字符的键值
        for (ptr = input; *ptr != '\0'; ++ptr) {
            printf("Char: %c, ASCII: %d\n", *ptr, (unsigned char)*ptr);
        }

        // 如果输入不为空，将输入添加到历史记录中
        if (*input) {
            add_history(input);
        }

        // 释放输入缓冲区
        free(input);
    }

    return 0;
}
